/**
 * AJAX提交工具包
 */

//点击ENTER事件，FORM提交JS方法触发
$(function(){
	document.onkeydown = function(e){
	    var ev = document.all ? window.event : e;
	    if(ev.keyCode==13) {
	    	if($("#submit_btn")[0]){	//当存在submit_btn按钮，并且没有弹窗提示情况下 -> 进行提交
	    		stopDefault(ev);
				if($(".layui-layer-shade")[0]){
					return;
				}
	    		$("#submit_btn").click();
	    	}
	    }
	}
});

//阻止JS冒泡
function stopDefault(e) {
	//如果提供了事件对象，则这是一个非IE浏览器 
	if(e && e.preventDefault) {
	　　//阻止默认浏览器动作(W3C)
	　　e.preventDefault();
	} else {
	　　//IE中阻止函数器默认动作的方式 
	　　window.event.returnValue = false; 
	}
	return false;
}

/**
 * FORM提交JS截取封装方法
 */
var lock = false;	//锁默认关闭
function doSubmitForm(obj){
	
	var btn = $(obj);
	var form = btn.closest("form");
	var url_addr = form.attr("action");
	var params = form.serialize();
	//加锁判断
	if(lock == true){
		return;
	}
	$.ajax({ url:url_addr, data:params,type:"POST", dataType:"json",beforeSend:function(){
		lock = true;	//加锁
		btn.addClass('submit_loading');
	},success:function(result){
		
		//解锁---开始------
		lock = false;
		btn.removeClass('submit_loading');
		//解锁---结束------
		if(result.status == 1){	//成功的状态：仅提示
			zcAlert(result.msg, 1);
	    }else if(result.status == 2){	//JS回调函数流程
	    	eval(result.msg);
	    }else if(result.status == 3){	//[当前页]:刷新
	    	window.location.reload();
	    }else if(result.status == 4){	//[当前页]:跳转
	    	window.location.href = result.msg;
	    }else if(result.status == 5) { // [当前页]：提示+刷新页面
	    	zcRefreshAlert(result.msg, 1);
        }else if(result.status == 6){	//[当前页]：提示+跳转页面
        	zcRedirectAlert(result.msg,result.data, 1);
	    }else if(result.status == 7){	//[父页]：刷新页面
	    	parent.window.location.reload();
	    }else if(result.status == 8){	//[父页]：跳转页面
	    	parent.location.href = result.msg;
	    }else if(result.status == 9) { // [父页]：提示+刷新页面
            zcParentRefreshAlert(result.msg,1);
        }else if(result.status == 10){	//[父页]：提示+跳转页面
	    	zcParentRedirectAlert(result.msg,result.data, 1);
	    }else{	//错误的状态：仅提示
			
			if(typeof result.msg == 'string'){
				zcAlert(result.msg, 0);
        	}else{
        		for(var o in result.msg){
        			zcAlert(result.msg[o]+'', 0);
        			break;	//只提示第一条错误信息
        		}
        	}
	    }
	}});
	
}

//确认弹出窗操作-> 即弹出框，远程请求将要的操作
function toConfirm(tips,todoUrl) {
	
	layer.confirm(tips, {icon: 4}, function(index){
		$.get(todoUrl,function(result){
			layer.close(index);
			if(result.status == 1){	//成功的状态：仅提示
				zcAlert(result.msg, 1);
		    }else if(result.status == 2){	//JS回调函数流程
		    	eval(result.msg);
		    }else if(result.status == 3){	//[当前页]:刷新
		    	window.location.reload();
		    }else if(result.status == 4){	//[当前页]:跳转
		    	window.location.href = result.msg;
		    }else if(result.status == 5) { // [当前页]：提示+刷新页面
		    	zcRefreshAlert(result.msg, 1);
	        }else if(result.status == 6){	//[当前页]：提示+跳转页面
	        	zcRedirectAlert(result.msg,result.data, 1);
		    }else if(result.status == 7){	//[父页]：刷新页面
		    	parent.window.location.reload();
		    }else if(result.status == 8){	//[父页]：跳转页面
		    	parent.location.href = result.msg;
		    }else if(result.status == 9) { // [父页]：提示+刷新页面
	            zcParentRefreshAlert(result.msg,1);
	        }else if(result.status == 10){	//[父页]：提示+跳转页面
		    	zcParentRedirectAlert(result.msg,result.data, 1);
		    }else{	//错误的状态：仅提示
		    	
		    	if(typeof result.msg == 'string'){
					zcAlert(result.msg, 0);
	        	}else{
	        		//如果是从getErrors拿到的数据，则在confirm插件处打印第一条错误信息
	        		var i=0;
	        		var msgcont = '';
	        		for(var o in result.msg){
	        			if(i > 0){
	        				break;
	        			}
	        			msgcont = result.msg[o];
	        			i++;
	        		}
	        		zcAlert(msgcont, 0);
	        	}
		    	
		    }
			
		},"JSON");
	});
}

/**
 * 信息提示框 msg 提示的信息内容 type 类型(0 失败 / 1 成功)
 */
function zcAlert(msg, type) {
	var typeIndex = 0; // 默认为FALSE的图标
	if (type == 1) {
		typeIndex = 1;
	}
	layer.alert(msg, {icon: typeIndex});
}

/**
 * 信息提示框，点击确认后，刷新【当前】页 msg 提示的信息内容 type 类型(0 失败 / 1 成功)
 */
function zcRefreshAlert(msg, type) {
	var typeIndex = 0; // 默认为FALSE的图标
	if (type == 1) {
		typeIndex = 1;
	}
	layer.alert(msg,{icon: typeIndex}, function(index){
		window.location.reload();
	});
}

/**
 * 信息提示框，点击确认后，跳转【当前】页 msg 提示的信息内容、url跳转的页面、 type 类型(0 失败 / 1 成功)
 */
function zcRedirectAlert(msg,url,type) {
	var typeIndex = 0; // 默认为FALSE的图标
	if (type == 1) {
		typeIndex = 1;
	}
	layer.alert(msg,{icon: typeIndex}, function(index){
		window.location.href = url;
	});
}

/**
 * 信息提示框，点击确认后，刷新【父】页 msg 提示的信息内容 type 类型(0 失败 / 1 成功)
 */
function zcParentRefreshAlert(msg, type) {
	var typeIndex = 0; // 默认为FALSE的图标
	if (type == 1) {
		typeIndex = 1;
	}
	layer.alert(msg,{icon: typeIndex}, function(index){
		parent.window.location.reload();
	});
}

/**
 * 信息提示框，点击确认后，跳转【父】面 msg 提示的信息内容、url跳转的页面、 type 类型(0 失败 / 1 成功)
 */
function zcParentRedirectAlert(msg,url,type) {
	var typeIndex = 0; // 默认为FALSE的图标
	if (type == 1) {
		typeIndex = 1;
	}
	layer.alert(msg,{icon: typeIndex}, function(index){
		parent.window.location.href = url;
	});
}

/**
 * LAYER弹窗
 * @srcVal 页面地址
 * @width 宽度，如 500 => 500px   ,50% => 50%
 * @height 高度，如 500 => 500px   ,50% => 50%
 */
function openBox(srcVal, width, height,title) {
    
    return layer.open({
        type : 2,
        title: title,
        maxmin : true,
        shadeClose : true, // 开启点击遮罩关闭层
        area : [width, height],
        content: srcVal
    });
}